home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / chaosmon.scp < prev    next >
Text File  |  1994-11-22  |  42KB  |  1,781 lines

  1. // -----------------     MONITOR INTERFACE SECTION     -------------------
  2. // SECTION #S AND DESCRIPTIONS REFERENCE REFERENCE THE
  3. // BIOFORGE SCREENPLAY 2/14/94
  4.  
  5. // USE SECTION
  6. { ELEV2_H1_USE
  7.  
  8.     I  ^å¡              = 1 THEN é     
  9.     I  @Çä     () NOTIN 50,130 THEN é     
  10.  
  11.     ^Ç┤              ++
  12.     M      PUSH_BUTTON CONTINUE
  13.     W    5
  14.     @Ç¥   ELEVATOR_MONITOR
  15.     M      STAND CONTINUE
  16.     ^Ç┤              --
  17. }
  18.  
  19. { ELEV2_H2_USE
  20.  
  21.     I  ^å¡              = 1 THEN é     
  22.     I  @Çä     () NOTIN -115,-45 THEN é     
  23.  
  24.     ^Ç┤              ++
  25.     M      PUSH_BUTTON CONTINUE
  26.     W    5
  27.     @Ç¥   ELEVATOR_MONITOR
  28.     M      STAND CONTINUE
  29.     ^Ç┤              --
  30. }
  31.  
  32. { MANT_MON_USE
  33.     ^Ç┤              ++
  34.     I ( @Çä      IN (110,162) ) THEN
  35.         {
  36.         //GO MAINTLOC WALK 10
  37.         £    MAINTLOC GRADUAL
  38.         M      LOOK_CONSOLE FREEZE
  39.         @Ç¥   GR_MAINTENANCELOG
  40.         M      STAND CONTINUE
  41.         }
  42.     ^Ç┤              --
  43. }
  44.  
  45. { BOT_MON_USE
  46. // ROBOT MONITOR TRIGGER PROCESS
  47.     ^Ç┤              ++
  48.  
  49.     // MAKE SURE HE IS MOSTLY FACING THE CONTROL PANEL, AND
  50.     // AVOID CONFUSION WITH THE SECURITY MONITOR.
  51.     I ( @Çä      NOTIN (-90,135) ) THEN
  52.         {
  53.         £    BOTMNLOC GRADUAL
  54.         M      LOOK_CONSOLE FREEZE
  55.         @Ç¥   GR_ROBOTCONTROLPANEL $âà       
  56.         M      STAND CONTINUE
  57.  
  58.         I  @Ç¢              (USE_BOT) THEN
  59.             ┬             
  60.         }
  61.  
  62.     ^Ç┤              --
  63. }
  64.  
  65. { SEC_MON_USE
  66.  
  67.     ^Ç┤              ++
  68.     I ( @Çä      IN (45,135) ) THEN
  69.         {
  70.         £    SEC_LOC GRADUAL
  71.         M      LOOK_CONSOLE FREEZE
  72.         @Ç¥   GR_SECURITYMONITOR
  73.         M      STAND CONTINUE
  74.         }
  75.     ^Ç┤              --
  76. }
  77.  
  78. { CRYM_USE
  79.     ^Ç┤              ++
  80.     I ( @Çä      IN (-135,-45) ) THEN
  81.         {
  82.         £    CM_LOC GRADUAL
  83.         M      LOOK_AT_MON FREEZE
  84.         @Ç¥   CR_FREEZERMONITOR
  85.         M      STAND CONTINUE
  86.         }
  87.     ^Ç┤              --
  88. }
  89.  
  90. // 7.04 CELLBLOCK CORRIDOR/CIRCUIT BOARD
  91.  
  92. [ CELPAN_SPARKS
  93.  
  94.     // RUN SPARKS ANINMATION HERE - BUG
  95.  
  96. ]
  97.  
  98. { BOARD
  99.     < DATA1 = 13  1  7  2  8  3  9  4 10  5 11 18 12  6 >
  100.     < DATA2 = 11  6,11 17,10 16,21 15, 8 14,19 13 >
  101.     < DATA3 = 16 13, 7  2  8,15 20 15, 9 16 10,17 22 17,11 18 24 >
  102.     < DATA4 = 21 24,18 11 17 23,17 10  5 11, 5 10 16  9, 3 8 3 8, 2 2 2 7 >
  103.  
  104.     // NOTE ON ABOVE DATA:
  105.     //              EACH ROW REPRESENTS A PUZZLE STATE (1..4, 5=SOLVED)
  106.     //         POS 0: LENGTH OF THE SERIES FOR THAT STATE
  107.     //         POS 1: STARTING LOCATION (1..24) FOR THE SERIES
  108.     //         2... : THE DATA SERIES TO COMPLETE THE STATE
  109. }
  110.  
  111. { WAIT10
  112.  
  113.     W    10
  114.  
  115. }
  116.  
  117. { CC_CIRCUITBOARD
  118.  
  119.     I ( @Çú              () ) THEN é     
  120.  
  121.              "clpn"
  122.  
  123.     m          
  124.  
  125.     // DEFINE BUTTONS
  126.                     "u01b" $Ǽ        
  127.                     "u02b" $Ǽ        
  128.                     "u03b" $Ǽ        
  129.                     "u04b" $Ǽ        
  130.                     "u05b" $Ǽ        
  131.  
  132.  
  133.     // MAX_PIXELS_PER_SECOND, ACCELERATION 120,1 DEFAULT
  134.     å                360 1
  135.     // TIME FOR PTR TO PRESS & RELEASE: PRESS_TIME, HOLD_TIME, RELEASE_TIME
  136.     // DEFAQULT 60 30 60
  137.     ç                  10 5 10
  138.     //#IFDEF DEBUG_ON
  139.                      ( "DB1L", 1, "/!-" )
  140.                      ( "DB2L", 1, "/!-" )
  141.                      ( "DB3L", 1, "/!-" )
  142.                      ( "DB4L", 1, "/!-" )
  143.     //#ENDIF
  144.     J    #Çô             
  145.  
  146.  
  147.     //---------------------------------------------------------------------
  148.     :LOOP
  149.         ^           = @Çì      WAIT10
  150.         :MINILOOP
  151.             â      
  152.                    
  153.             I  @Çó            ( ^           ) THEN
  154.                 J    #Çï     
  155.         I  (^å¿              = $Ç╗   ) THEN
  156.             {
  157.             J    #Çî           
  158.             }
  159.         J    #Çè 
  160.  
  161.     //---------------------------------------------------------------------
  162.     :UPDATE_PATTERN
  163.  
  164. //              IF _CELPAN_STATE = 5 THEN JUMP WIN_LOOP         <--- LONG PUZZLE
  165.         I  ^åí           = 4 THEN J    #Çù     
  166.  
  167.         // CURRENTLY AT THE END OF SEQUENCE?
  168.  
  169.         ^åï    = ^åí           + 1
  170.         I  ^媠            = ^åï    THEN
  171.             {
  172.             c         (^åñ         ,^åÑ        )
  173.             ^媠            = -4
  174.             }
  175.  
  176.         // 3-STAGE PRE-SEQUENCE INITIALIZER
  177.  
  178.         I  ^媠            < 1 THEN
  179.             {
  180.             I  ^媠            = -3 THEN
  181.                 {
  182.                            ("BOXA",1)           // TURN ON FLASH BOX
  183.                 @Çå   (`äë                 )     // SFX: MAIN FLASH BOX SOUND
  184.                 }
  185.             I  ^媠            = -2 THEN
  186.                 {
  187.                            ("BOXA",0)           // TURN OFF FLASH BOX
  188.                 }
  189.             I  ^媠            = -1 THEN
  190.                 {
  191.                 a      (^åñ         ,^åó          )
  192.                 }
  193.             I  ^媠            = 0 THEN
  194.                 {
  195.                 b        (^åñ         ,^åó          )
  196.                 }
  197.             ^媠            ++
  198.             J    #Çö        
  199.             }
  200.  
  201. //        IF _CELPAN_CUR_PTR < 1 THEN
  202. //            {
  203. //            IF _CELPAN_CUR_PTR = -2 THEN
  204. //                {
  205. //                SETFLAG(_CELPAN_FLAG,_CELPAN_START)
  206. //                }
  207. //            IF _CELPAN_CUR_PTR = -1 THEN
  208. //                {
  209. //                CLEARFLAG(_CELPAN_FLAG,_CELPAN_START)
  210. //                MON_SETFRAME("BOXA",1)           // TURN ON FLASH BOX
  211. //                @SOUND(_CELL_PANEL_FLASHBOX) // SFX: MAIN FLASH BOX SOUND
  212. //                }
  213. //            IF _CELPAN_CUR_PTR = 0 THEN
  214. //                {
  215. //                SETFLAG(_CELPAN_FLAG,_CELPAN_START)
  216. //                MON_SETFRAME("BOXA",0)           // TURN OFF FLASH BOX
  217. //                }
  218. //            _CELPAN_CUR_PTR ++
  219. //            JUMP UPDATE_GRID
  220. //            }
  221.  
  222.         // ACTUAL SEQUENCE PERFORMANCE
  223.  
  224.         I  ^媠            > 1 THEN
  225.             c         (^åñ         ,^åÑ        )
  226.  
  227.         ^åï    = ^庠            + ^媠           
  228.  
  229.         N      (^åí          )
  230.             {
  231.             U    1
  232.                 ^åÑ         = @ÇÉ     (BOARD,DATA1, ^åï   )
  233.                 X ÇÇ 
  234.             U    2
  235.                 ^åÑ         = @ÇÉ     (BOARD,DATA2, ^åï   )
  236.                 X ÇÇ 
  237.             U    3
  238.                 ^åÑ         = @ÇÉ     (BOARD,DATA3, ^åï   )
  239.                 X ÇÇ 
  240.             U    4
  241.                 ^åÑ         = @ÇÉ     (BOARD,DATA4, ^åï   )
  242.                 X ÇÇ 
  243.             }
  244.  
  245.         c         (^åñ         ,^åÑ        )
  246.         ^媠            ++
  247.  
  248.         // SUPRESS DOUBLE-TOGGING FOR STATIONARY #3 BUTTON SEQUENCES
  249. //              IF (_CELPAN_STATE = 4) THEN
  250. //                      {
  251. //                      IF (_TEMP1 = 19) THEN CLEARFLAG(_CELPAN_FLAG,2)
  252. //                      IF (_TEMP1 = 20) THEN SETFLAG(_CELPAN_FLAG,2)
  253. //                      }
  254.  
  255.         J    #Çö        
  256.     //---------------------------------------------------------------------
  257.     :U01B_BUTTON                                       // UPPER LEFT BUTTON
  258.         @Çå   (`ü¡        ) // SFX: BUTTON PUSH
  259.         I  ^å¿              = $Ç╗    THEN
  260.                         @Çì      CELL_PANEL_BUTTON_PUSHED
  261.  
  262.         // MOVE TO NEW LOCATION
  263.  
  264.         ^å⌐            = ^åÑ         - 6
  265.         I  ^åÑ         > 12 THEN
  266.           {
  267.           I  ^åÑ         < 19 THEN
  268.              {
  269.              ^å⌐            --
  270.              }
  271.           }
  272.  
  273.         J    #ÇÆ         
  274.     //---------------------------------------------------------------------
  275.     :U02B_BUTTON                                      // UPPER RIGHT BUTTON
  276.         @Çå   (`ü¡        ) // SFX: BUTTON PUSH
  277.         I  ^å¿              = $Ç╗    THEN
  278.                         @Çì      CELL_PANEL_BUTTON_PUSHED
  279.  
  280.         // MOVE TO NEW LOCATION
  281.  
  282.         ^å⌐            = ^åÑ         - 5
  283.         I  ^åÑ         > 12 THEN
  284.           {
  285.           I  ^åÑ         < 19 THEN
  286.              {
  287.              ^å⌐            --
  288.              }
  289.  
  290.           }
  291.         J    #ÇÆ         
  292.     //---------------------------------------------------------------------
  293.     :U03B_BUTTON                                            // CENTER BUTTON
  294.         @Çå   (`ü¡        ) // SFX: BUTTON PUSH
  295.         I  ^å¿              = $Ç╗    THEN
  296.                         @Çì      CELL_PANEL_BUTTON_PUSHED
  297.  
  298.         // MOVE TO NEW LOCATION
  299.  
  300.         ^å⌐            = ^åÑ        
  301.  
  302.         J    #ÇÆ         
  303.     //---------------------------------------------------------------------
  304.     :U04B_BUTTON                                            // LOWER LEFT BUTTON
  305.         @Çå   (`ü¡        ) // SFX: BUTTON PUSH
  306.         I  ^å¿              = $Ç╗    THEN
  307.                         @Çì      CELL_PANEL_BUTTON_PUSHED
  308.  
  309.         // MOVE TO NEW LOCATION
  310.  
  311.         ^å⌐            = ^åÑ         + 5
  312.         I  ^åÑ         > 6 THEN
  313.           {
  314.           I  ^åÑ         < 13 THEN
  315.              {
  316.              ^å⌐            ++
  317.              }
  318.           }
  319.  
  320.         J    #ÇÆ         
  321.     //---------------------------------------------------------------------
  322.     :U05B_BUTTON                                            // LOWER RIGHT BUTTON
  323.         @Çå   (`ü¡        ) // SFX: BUTTON PUSH
  324.         I  ^å¿              = $Ç╗    THEN
  325.                         @Çì      CELL_PANEL_BUTTON_PUSHED
  326.  
  327.         ^å⌐            = ^åÑ         + 6
  328.  
  329.         I  ^åÑ         > 6 THEN
  330.           {
  331.           I  ^åÑ         < 13 THEN
  332.              {
  333.              ^å⌐            ++
  334.              }
  335.           }
  336.  
  337.         J    #ÇÆ         
  338.     //---------------------------------------------------------------------
  339.     :RESOLVE_MOVE                                           // RESOLVE A VAILD MOVE
  340.  
  341.        // CALCULATE THE NEXT VALID LOCATION
  342.  
  343.        ^媠            ++
  344.        ^åï    = ^庠            + ^媠           
  345.        N      (^åí          )
  346.             {
  347.             U    1
  348.               ^åÑ         = @ÇÉ     (BOARD,DATA1, ^åï   )
  349.               X Çü 
  350.             U    2
  351.               ^åÑ         = @ÇÉ     (BOARD,DATA2, ^åï   )
  352.               X Çü 
  353.             U    3
  354.               ^åÑ         = @ÇÉ     (BOARD,DATA3, ^åï   )
  355.               X Çü 
  356.             U    4
  357.               ^åÑ         = @ÇÉ     (BOARD,DATA4, ^åï   )
  358.               X Çü 
  359.             }
  360.  
  361.        // IF NEXT VALID LOCATION != NEW LOCATION, THEN ZAPPPP!!!!
  362.  
  363.        I  ^åÑ         != ^å⌐            THEN
  364.           {
  365.           @Çå    `â┐      
  366.           J    #Çò
  367.           }
  368.  
  369.        // LIGHT IT UP!! (OR TURN IT OFF...)
  370.  
  371.        c         (^åñ         ,^åÑ        )
  372.  
  373.        // IS THE SEQUENCE DONE ??
  374.  
  375.        I  ^媠            = ^åí           THEN
  376.           {
  377.           ^媠            = -4                   // RESET CURRENT PTR
  378.           ^庠            += ^åí                 // ADVANCE SEQUENCE PTR
  379.           ^å¿              = $Ç╗   
  380.  
  381.           // HAS THE STATE CHANGED ?
  382.           I  ^庠            = ^嬠         THEN
  383.             {
  384.             ^åí           ++
  385.             // IS THE PUZZLE SOLVED ??
  386.  
  387.             I  (^åí           = 5) THEN J    #Çö            // WIN
  388.  
  389.             N      (^åí          )
  390.             {
  391.             U    5
  392.                            ("C04A",1);
  393.             U    4
  394.                            ("C03A",1);
  395.             U    3
  396.                            ("C02A",1);
  397.             U    2
  398.                            ("C01A",1);
  399.             U    1
  400.                 X Çé 
  401.             }
  402.             @Çå   (`ü▒        ) // SFX: MINOR SUCCESS SOUNDS
  403.             â      
  404.             @Çå   (`ü▒        ) // SFX: MINOR SUCCESS SOUNDS
  405.             â      
  406.             @Çå   (`ü▒        ) // SFX: MINOR SUCCESS SOUNDS
  407.             â      
  408.  
  409.             J    #Çô             
  410.             }
  411.           ^åó           = ^åÑ        
  412.           }
  413.  
  414.        J    #Çö        
  415.     //---------------------------------------------------------------------
  416.     :INITIALIZE_STATE
  417.  
  418.       ^å¿              = $Ç╗   
  419.       ^媠             = -4         // RELATIVE POSITION WITHIN SEQUENCE
  420.       ^庠             = 1          // ABSOLUTE START POSITION OF SEQUENCE
  421.  
  422.       N      (^åí          )
  423.         {
  424.         U    1
  425.             ^åñ           = 2               // NOTHING SOLVED YET ($02)
  426.             X Çâ 
  427.         U    2
  428.             ^åñ           = 270334          // 1ST STATE SOLVED ($041FFE)
  429.             X Çâ 
  430.         U    3
  431.             ^åñ           = 3142398         // 2ND STATE SOLVED ($2FF2FE)
  432.             X Çâ 
  433.         U    4
  434.             ^åñ           = 24837498        // 3RD STATE SOLVED ($17AFD7A)
  435.             X Çâ 
  436.         U    5
  437.             ^åñ           = 268435455       // PUZZLE SOLVED    ($FFFFFFF)
  438.             X Çâ 
  439.         }
  440.  
  441.       // IS THE PUZZLE SOLVED YET ?
  442.       I  ^åí           < 5 THEN
  443.          {
  444.           N      (^åí          )
  445.             {
  446.             U    1
  447.               ^嬠          = @ÇÉ     (BOARD,DATA1, 0)
  448.               ^åó           = @ÇÉ     (BOARD,DATA1, 1)
  449.               ^åÑ           = @ÇÉ     (BOARD,DATA1, 2)
  450.               X Çä 
  451.             U    2
  452.               ^嬠          = @ÇÉ     (BOARD,DATA2, 0)
  453.               ^åó           = @ÇÉ     (BOARD,DATA2, 1)
  454.               ^åÑ           = @ÇÉ     (BOARD,DATA2, 2)
  455.               X Çä 
  456.             U    3
  457.               ^嬠          = @ÇÉ     (BOARD,DATA3, 0)
  458.               ^åó           = @ÇÉ     (BOARD,DATA3, 1)
  459.               ^åÑ           = @ÇÉ     (BOARD,DATA3, 2)
  460.               X Çä 
  461.             U    4
  462.               ^嬠          = @ÇÉ     (BOARD,DATA4, 0)
  463.               ^åó           = @ÇÉ     (BOARD,DATA4, 1)
  464.               ^åÑ           = @ÇÉ     (BOARD,DATA4, 2)
  465.               X Çä 
  466.             }
  467.          };
  468.  
  469.        // UPDATE STAR PATTERN
  470.  
  471.                   ("C01A",0);
  472.                   ("C02A",0);
  473.                   ("C03A",0);
  474.                   ("C04A",0);
  475.  
  476.        N      (^åí          )
  477.         {
  478.         U    5
  479.                        ("C04A",1);
  480.         U    4
  481.                        ("C03A",1);
  482.         U    3
  483.                        ("C02A",1);
  484.         U    2
  485.                        ("C01A",1);
  486.         U    1
  487.             X Çà 
  488.         }
  489.  
  490.     //---------------------------------------------------------------------
  491.     :UPDATE_GRID
  492.  
  493.                   ("L01A",@ÇÅ     (^åñ         ,1))
  494.                   ("L02A",@ÇÅ     (^åñ         ,2))
  495.                   ("L03A",@ÇÅ     (^åñ         ,3))
  496.                   ("L04A",@ÇÅ     (^åñ         ,4))
  497.                   ("L05A",@ÇÅ     (^åñ         ,5))
  498.                   ("L06A",@ÇÅ     (^åñ         ,6))
  499.                   ("L07A",@ÇÅ     (^åñ         ,7))
  500.                   ("L08A",@ÇÅ     (^åñ         ,8))
  501.                   ("L09A",@ÇÅ     (^åñ         ,9))
  502.                   ("L10A",@ÇÅ     (^åñ         ,10))
  503.                   ("L11A",@ÇÅ     (^åñ         ,11))
  504.                   ("L12A",@ÇÅ     (^åñ         ,12))
  505.                   ("L13A",@ÇÅ     (^åñ         ,13))
  506.                   ("L14A",@ÇÅ     (^åñ         ,14))
  507.                   ("L15A",@ÇÅ     (^åñ         ,15))
  508.                   ("L16A",@ÇÅ     (^åñ         ,16))
  509.                   ("L17A",@ÇÅ     (^åñ         ,17))
  510.                   ("L18A",@ÇÅ     (^åñ         ,18))
  511.                   ("L19A",@ÇÅ     (^åñ         ,19))
  512.                   ("L20A",@ÇÅ     (^åñ         ,20))
  513.                   ("L21A",@ÇÅ     (^åñ         ,21))
  514.                   ("L22A",@ÇÅ     (^åñ         ,22))
  515.                   ("L23A",@ÇÅ     (^åñ         ,23))
  516.                   ("L24A",@ÇÅ     (^åñ         ,24))
  517.  
  518.        @Çå   (`üÉ     , 60)   // SFX: SOUND OF GRID-LIGHT TURNING ON OR OFF
  519.        J    #Çè 
  520.  
  521.     //---------------------------------------------------------------------
  522.     // LEX HAS GOOFED UP.... ZAP HIM!!!
  523.     :ZAP
  524.               
  525.  
  526.        ^å½              ++
  527.        I  ^å½              == 2 THEN i           LEX PANELF1
  528.        I  ^å½              == 5 THEN i           LEX PANELF5
  529.        
  530.        @Çì      CELPAN_EXPLOSION
  531.        M      CELPAN_ZAP CONTINUE
  532.        W    30
  533.        M      SUPER_REC_TL
  534.        é     
  535.  
  536.     //---------------------------------------------------------------------
  537.     // PUZZLE COMPLETED !!!
  538.     :WIN
  539.  
  540.        :WIN_LOOP
  541.                   ("C01A",0);
  542.                   ("C02A",1);
  543.                   ("C03A",0);
  544.                   ("C04A",1);
  545.        @Çå   (`ü▓        )
  546.        â      
  547.                   ("C01A",1);
  548.                   ("C02A",0);
  549.                   ("C03A",1);
  550.                   ("C04A",0);
  551.        @Çå   (`ü▓        )
  552.        â      
  553.  
  554.        L    #Çù      4
  555.  
  556.                   ("C02A",1);
  557.                   ("C04A",1);
  558.        @Çå   (`ü▓        )
  559.        â      
  560.        W    30
  561.  
  562.     //---------------------------------------------------------------------
  563.     // ESCAPE BUTTON PUSHED: LEAVE THE PUZZLE
  564.     :ESCAPE_BUTTON
  565.  
  566.               
  567.  
  568. }
  569.  
  570. { CELL_PANEL_BUTTON_PUSHED
  571.  
  572.    // CALLED ONLY IF BUTTON WAS PUSHED AND PLAYER IS CURRENTLY
  573.    // NOT ENTERING DATA. BASICALLY, THIS RESETS THE DISPLAY FOR INPUT.
  574.  
  575.    ^å¿              = $Ç╝  
  576.  
  577.    a      (^åñ         ,^åó          )
  578.    I  ^媠            > 1 THEN
  579.       c         (^åñ         ,^åÑ        )
  580.  
  581.               ("BOXA",1)                      // TURN ON FLASH BOX
  582.  
  583.    ^媠            = 0
  584.    ^åÑ         = ^åó          
  585. }
  586.  
  587.  
  588. // **** CELL BLOCK MONITORS ****
  589.  
  590. { MONCL1_USE
  591.     ^Ç┤              ++
  592.     I ( @Çä      IN (-135,-45) ) THEN
  593.         {
  594.         //GO C1MONLOC WALK 10
  595.         £    C1MONLOC GRADUAL
  596.         M      LOOK_AT_MON FREEZE
  597.         @Ç¥   ( GR_CELLMONITOR, 1, ^à«       )
  598.         M      STAND CONTINUE
  599.         }
  600.     ^Ç┤              --
  601. }
  602.  
  603. { MONCL2_USE
  604.     ^Ç┤              ++
  605.     I ( @Çä      IN (-135,-45) ) THEN
  606.         {
  607.         //GO C2MONLOC WALK 10
  608.         £    C2MONLOC GRADUAL
  609.         M      LOOK_AT_MON FREEZE
  610.         @Ç¥   ( GR_CELLMONITOR, 2, ^à»       )
  611.         M      STAND CONTINUE
  612.         }
  613.     ^Ç┤              --
  614. }
  615.  
  616. { MONCL3_USE
  617.     ^Ç┤              ++
  618.     I ( @Çä      IN (-135,-45) ) THEN
  619.         {
  620.         //GO C3MONLOC WALK 10
  621.         £    C3MONLOC GRADUAL
  622.         M      LOOK_AT_MON FREEZE
  623.         @Ç¥   ( GR_CELLMONITOR, 3, ^à░       )
  624.         M      STAND CONTINUE
  625.         }
  626.     ^Ç┤              --
  627. }
  628.  
  629. { MONCL4_USE
  630.     ^Ç┤              ++
  631.     I ( @Çä      IN (-135,-45) ) THEN
  632.         {
  633.         //GO C4MONLOC WALK 10
  634.         £    C4MONLOC GRADUAL
  635.         M      LOOK_AT_MON FREEZE
  636.         @Ç¥   ( GR_CELLMONITOR, 4, ^à▒       )
  637.         M      STAND CONTINUE
  638.         }
  639.     ^Ç┤              --
  640. }
  641.  
  642. { DENYACCESS
  643.     :TELLDENIAL
  644.     //@@@ TRANSLATE F
  645.                  ( "FBRL", $Ç¡           , "ACCESS DENIED /FRENCH /G ZUTRITT VERWEIGERT!"  //@@@ PLEASE TRANSLATE
  646.     @Çå   (`ä¡       )
  647.     W    15
  648.                  ( "FBRL", $Ç¡           , "-------------"
  649.     W    15
  650.     L    #ǃ        3
  651.  
  652.                  ( "FBRL", $Ǽ        , "FORCE BARS/FBARREAUX/GSTROMSCHRANKEN" );                    //@@@ PLEASE TRANSLATE
  653. }
  654.  
  655.  
  656. // 7.05 GUARD ROOM/CELL ONE MONITOR
  657. // 7.06 GUARD ROOM/CELL TWO MONITOR
  658. // 7.07 GUARD ROOM/CELL THREE MONITOR
  659. // 7.08 GUARD ROOM/CELL FOUR MONITOR
  660. // DEPENDS ON _CELL_MONITOR == 1,2,3,4
  661. { GR_CELLMONITOR _CELL_MONITOR _CELX_OFF
  662.  
  663.     I ( @Çú              () ) THEN é     
  664.  
  665.     ^åû           = 0
  666.     ^å│             = 1
  667.  
  668.              "CELL"
  669.                  ( "CMRL", "CAMERA/FCAMERA/GKAMERA");
  670.                  ( "fBRL", "FORCE BARS/FBARREAUX/GSTROMSCHRANKEN");
  671.                  ( "CELL", "CELL/FCELLULE/GZELLE");
  672.                  ( "CMAL", "CAM./FCAM./GKAM.");
  673.     I  ( ~Çü       ) THEN
  674.     {
  675.                        ( "BT1b", "ON/FEN MARCHE/GAN", $Ǽ        , $Ç▒               );          
  676.                        ( "BT2b", "OFF/FARRET/GAUS", $Ç«          , $Ç▒               ); 
  677.     }
  678.     E   
  679.     {
  680.                        ( "BT1b", "ON/FEN MARCHE/GAN", $Ç«          , $Ç▒               );  
  681.                        ( "BT2b", "OFF/FARRET/GAUS", $Ǽ        , $Ç▒               );
  682.     }
  683.                    ( "BT3b", "/!1", $Ç«          , $Ç▒                );
  684.                    ( "BT4b", "/!2", $Ǽ        , $Ç▒                );
  685.                    ( "BT5b", $Ç¡           , "EXIT/FSORTIE/GZURÜCK" );
  686.  
  687.  
  688.     :LOOP
  689.         I  ^å│             = 1 THEN              ("CMNL","/!1");
  690.         I  ^å│             = 2 THEN              ("CMNL","/!2");
  691.         N     (~ÇÇ          )
  692.             {
  693.             U    1
  694.                 I  ^å│             = 1 THEN C      CE11
  695.                 I  ^å│             = 2 THEN C      CE12
  696.                 I  ^å│             = 1 THEN                   ("VEWV","CE11")
  697.                 I  ^å│             = 2 THEN                   ("VEWV","CE12")
  698.                              ("NUML","/!1")
  699.                 X Çå 
  700.             U    2
  701.                 I  ^è╖                != 0 THEN
  702.                     {
  703.                     I  ^å│             = 1 THEN C      CE23
  704.                     I  ^å│             = 2 THEN C      CE24
  705.                     I  ^å│             = 1 THEN                   ("VEWV","CE23")
  706.                     I  ^å│             = 2 THEN                   ("VEWV","CE24")
  707.                     }
  708.                 E   
  709.                     {
  710.                     I  ^å│             = 1 THEN C      CE21
  711.                     I  ^å│             = 2 THEN C      CE22
  712.                     I  ^å│             = 1 THEN                   ("VEWV","CE21")
  713.                     I  ^å│             = 2 THEN                   ("VEWV","CE22")
  714.                     }
  715.                              ("NUML","/!2")
  716.                 X Çå 
  717.             U    3
  718.                 I  ^å│             = 1 THEN C      CE31
  719.                 I  ^å│             = 2 THEN C      CE32
  720.                 I  ^å│             = 1 THEN                   ("VEWV","CE31")
  721.                 I  ^å│             = 2 THEN                   ("VEWV","CE32")
  722.                              ("NUML","/!3")
  723.                 X Çå 
  724.             U    4
  725.                 I  ^å│             = 1 THEN C      CE41
  726.                 I  ^å│             = 2 THEN C      CE42
  727.                 I  ^å│             = 1 THEN                   ("VEWV","CE41")
  728.                 I  ^å│             = 2 THEN                   ("VEWV","CE42")
  729.                              ("NUML","/!4")
  730.                 X Çå 
  731.  
  732.             }
  733.            
  734.     â      
  735.     J    #Çí 
  736.  
  737.     // CAMERA ONE BUTTON
  738.     :BT3B_BUTTON
  739.     @Çå   (`ü▓        )
  740.                    ( "BT4b", "/!2", $Ǽ        , $Ç▒               );
  741.     ^å│             = 1
  742.     J    #Çí 
  743.  
  744.     // CAMERA TWO BUTTON
  745.     :BT4B_BUTTON
  746.     @Çå   (`ü▓        )
  747.                    ( "BT3b", "/!1", $Ǽ        , $Ç▒               );
  748.     ^å│             = 2
  749.     J    #Çí 
  750.  
  751.     // TURN BARS ON
  752.     :BT1B_BUTTON
  753.     @Çå   (`üÉ     )
  754.                    ( "BT2b", "OFF/FARRET/GAUS", $Ǽ        , $Ç▒               ); 
  755.  
  756.     N      ~ÇÇ          
  757.         {
  758.         U    1
  759.             @Ç¥   SETCELLONEBARS( 0 )
  760.             X Çç 
  761.         U    2
  762.             @Çì      DENYACCESS
  763.             X Çç 
  764.         U    3
  765.             @Ç¥   SETCELLTHREEBARS( 0 )
  766.             X Çç 
  767.         U    4
  768.             @Ç¥   SETCELLFOURBARS( 0 )
  769.             X Çç 
  770.         }
  771.     J    #Çí 
  772.  
  773.     // TURN BARS OFF
  774.     :BT2B_BUTTON
  775.     @Çå   (`üÉ     )
  776.                    ( "BT1b", "ON/FEN MARCHE/GAN", $Ǽ        , $Ç▒                );
  777.  
  778.     N      ~ÇÇ          
  779.         {
  780.         U    1
  781.             @Ç¥   SETCELLONEBARS( 1 )
  782.             X Çê 
  783.         U    2
  784.             @Çì      DENYACCESS
  785.             X Çê 
  786.         U    3
  787.             @Ç¥   SETCELLTHREEBARS( 1 )
  788.             X Çê 
  789.         U    4
  790.             @Ç¥   SETCELLFOURBARS( 1 )
  791.             X Çê 
  792.         }
  793.     J    #Çí 
  794.  
  795.  
  796.  
  797.     :BT5B_BUTTON
  798.     @Çå   (`ü▓        )
  799.     :STOPIT
  800.     :ESCAPE_BUTTON
  801.     C      UNLOCK
  802.            
  803.     C      UNLOCK
  804. }
  805.  
  806. // 7.09 GUARD ROOM/CELLBLOCK DATA MONITOR
  807. // CELL MONITOR WITH PRISONER SUMMARIES
  808. {  GR_CELLBLOCKDATAMONITOR
  809.  
  810.     I ( @Çú              () ) THEN é     
  811.  
  812.              "CLVL"
  813.     ^è╡           = $Ç╗   
  814.  
  815.     :ATTRACT
  816.  
  817.     m          
  818.  
  819.     // CELL SHAPE BUTTONS
  820.                     "bc1b" $Ǽ         "/! " $Ǽ         $Ç▓               
  821.                     "bc2b" $Ǽ         "/! " $Ǽ         $Ç▓               
  822.                     "bc3b" $Ǽ         "/! " $Ǽ         $Ç▓               
  823.                     "bc4b" $Ǽ         "/! " $Ǽ         $Ç▓               
  824.                   "blka" 1
  825.                   "HEaL" "PRISONER INFORMATION
  826.                          /FPRISONNIER INFORMATION
  827.                          /GINFORMATION ÜBER INSASSE"
  828.                   "UC1L" "/!C-1"
  829.                   "LC1L" "/!BX-3497"
  830.                   "UC2L" "/!C-2"
  831.                   "LC2L" "CLASSIFIED
  832.                          /FCLASSÉE
  833.                          /GGEHEIM"
  834.                   "UC3L" "/!C-3"
  835.                   "LC3L" "/!AP-127"
  836.                   "UC4L" "/!C-4"
  837.                   "LC4L" "/!AP-128"
  838.                     "xikb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  839.     ^è╡           = $Ç╝  
  840.  
  841.     :CEL_MON1_LOOP
  842.            
  843.     â      
  844.     J    #ǽ          
  845.  
  846.     :BC1B_BUTTON
  847.     @Çå   (`ü¼                  )
  848.     m          
  849.                   "HEaL" "PRISONER INFORMATION 1
  850.                          /FPRISONNIER INFORMATION 1
  851.                          /GINFORMATION ÜBER INSASSE 1"
  852.     j              "inft" "cell1"
  853.                     "xikb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  854.     ^è╡           = $Ç╗   
  855.     J    #ǽ          
  856.  
  857.     :BC2B_BUTTON
  858.     @Çå   (`ü¼                  )
  859.     m          
  860.                   "HEaL" "PRISONER INFORMATION 2
  861.                          /FPRISONNIER INFORMATION 2
  862.                          /GINFORMATION ÜBER INSASSE 2"
  863.     j              "inft" "cell2"
  864.                     "xikb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  865.     ^è╡           = $Ç╗   
  866.     J    #ǽ          
  867.  
  868.     :BC3B_BUTTON
  869.     @Çå   (`ü¼                  )
  870.     m          
  871.                   "HEaL" "PRISONER INFORMATION 3
  872.                          /FPRISONNIER INFORMATION 3
  873.                          /GINFORMATION ÜBER INSASSE 3"
  874.     j              "inft" "cell3"
  875.                     "xikb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  876.     ^è╡           = $Ç╗   
  877.     J    #ǽ          
  878.  
  879.     :BC4B_BUTTON
  880.     @Çå   (`ü¼                  )
  881.     m          
  882.                   "heal" "Prisoner INFORMATION 4
  883.                          /FPRISONNIER INFORMATION 4
  884.                          /GINFORMATION ÜBER INSASSE 4"
  885.     j              "inft" "cell4"
  886.                     "xikb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  887.     ^è╡           = $Ç╗   
  888.     J    #ǽ          
  889.  
  890.     :XIKB_BUTTON
  891.     I  ^è╡           == $Ç╗    THEN
  892.         J    #Ǭ    
  893.  
  894.     :ESCAPE_BUTTON
  895.     @Çå   (`ü▓        )
  896.            
  897. }
  898.  
  899.  
  900. // **********   PALM READERS   *********************
  901.  
  902.  
  903. // OPERATING ROOM
  904. { OR_PALMREADER
  905.     @Ç¥  ( PALMREADER(3)  )   // FOR DOOR #3 - DR3
  906. }
  907.  
  908. // CONTROL HALLWAY LEADING INTO CONTROL ROOM
  909. { CH_PALMREADER
  910.     @Ç¥  ( PALMREADER(4) )    // FOR DOOR #4 - DR4
  911. }
  912.  
  913. // GAURD ROOM & DOORWAY OUTSIDE GUARD ROOM
  914. { GR_PALMREADER
  915.     @Ç¥  ( PALMREADER(6) )    // FOR DOOR #6 - DR6
  916. }
  917.  
  918. // 7.11 GUARD ROOM/PALM READER
  919. { PALMREADER _RDR_NO
  920.     P        ~Çü            
  921.  
  922.     I ( @Çú              () ) THEN é     
  923.  
  924.     // ACCESS_GRANTED = _CAYNAN_SECURITY_ID_OK && @ISCARRYING(RTHAND, CAYARM)
  925.     ~Çü             = 0
  926.     I  (^è╣                   ) THEN
  927.     {
  928.         @ÇÜ            ( CAYARM, CLOSEST )
  929.  
  930.         I ( @Çæ        ( RTHAND, CAYARM ) ) THEN
  931. //              IF( @AMINTRIGGER( CURITEM, ARMHERE1 ) OR @AMINTRIGGER( CURITEM, ARMHERE2 ) ) THEN
  932.             ~Çü             = 1
  933.     }
  934.              "palm"
  935.     m          
  936.     // PROHIBIT PTR MOVEMENT OF PTR BY DISABLING MONITOR INPUT
  937.     Å               0
  938.     // HIDE PTR INITIALLY
  939.                    0
  940.  
  941.     // SET PTR TO HAND PLACED ON PALM READER
  942.     @ÇÜ            ( CAYARM, CLOSEST )
  943.  
  944.     I ( @Çæ        ( RTHAND, CAYARM ) ) THEN
  945.                  ( "pcayhand", 0 )
  946.     E   
  947.         {
  948.                  ( "plexhand", 0 )
  949.         i           LEX SCANFAIL
  950.         ^è║            ++
  951.         I  ^è║            > 2 THEN
  952.             i           LEX SCANF2
  953.         }
  954.  
  955.  
  956.     // PLACE PTR (HAND) FROM BEG TO END POSITION
  957.     //MON_DEFINEBUTTON "begb" _MON_HIGHLIGHT
  958.     // SET PTR POS IN PREPERATION TO MOVE TOWARDS ENDB BUTTON
  959.     ─             156 207
  960.     // SHOW MONITOR
  961.     W    15
  962.  
  963.                     "endb" $Ǽ        
  964.     // SIMULATE TAB PRESS TO MOVE TO "end" BUTTON POS
  965.     ╞            $é⌐    
  966.  
  967.                    1
  968.     // ALLOW RESULTS OF TAB BEFORE MON_JUMP
  969.     â      
  970.     //WAIT 60
  971.  
  972.     :LOOP
  973.            
  974.     â      
  975.     J    #Ç╢ 
  976.  
  977.  
  978.     :ENDB_HIGHLIGHT
  979.     // SET ART FRAMES...
  980.     I  (~Çü             = 1) THEN
  981.     {
  982.         @Çå   (`ä¼         )
  983.                       "clra" 1
  984.     }
  985.     E   
  986.     {
  987.         @Çå   (`ä¡       )
  988.                       "fala" 1
  989.     }
  990.  
  991.     W    60
  992.     J    #Ç╕          
  993.  
  994.  
  995.     :ESCAPE_BUTTON
  996.     @Çå   (`ü▓        )
  997.            
  998.     I  (~Çü             = 1) THEN
  999.     {
  1000.         N      (~ÇÇ    )
  1001.         {
  1002.             U    3
  1003.                 @Ç¥  ( OPENDR6 )
  1004.                 X Çë 
  1005.             U    4
  1006.                 @Ç¥  ( OPENDR6 )
  1007.                 X Çë 
  1008.             U    6
  1009.                 @Ç¥  ( OPENDR6 )
  1010.                 X Çë 
  1011.             V      
  1012.         }
  1013.     }
  1014.     // ELSE // NO OPEN
  1015. }
  1016.  
  1017. // 7.14 GUARD ROOM/SECURITY MONITOR
  1018. // JAR -- WITH SOME REVISIONS BY KGC
  1019. { GR_SECURITYMONITOR
  1020.     P        ~ÇÇ   
  1021.  
  1022.     I ( @Çú              () ) THEN é     
  1023.  
  1024.              "prsn"
  1025.  
  1026.  
  1027.     J    #Ç╗            
  1028.  
  1029.     :LOOP
  1030.            
  1031.     â      
  1032.     J    #Ç║ 
  1033.  
  1034.  
  1035.  
  1036.     // PERSONNEL SCREEN BUTTONS....
  1037.     :ENTER_PERSONNEL
  1038.     m          
  1039.     // ART
  1040.                 "rnga" 1
  1041.                     "radb" $Ǽ         "EMERGENCY/FALERTE/GNOTFALL" 
  1042.  
  1043.     // MAIN SCREEN BUTTONS...
  1044.                   "hedl"  "PERSONNEL/FPERSONNEL/GPERSONAL"       
  1045.  
  1046.     // BUTTONS
  1047.                     "comb" $Ǽ         "COMMAND
  1048.                                        /FCOMMANDE
  1049.                                        /GKOMMANDO"
  1050.                     "scib" $Ǽ         "SCIENTIFIC
  1051.                                        /FSCIENTIFIQUE
  1052.                                        /GWISSENSCHAFT"
  1053.                     "secb" $Ǽ         "SECURITY
  1054.                                        /FSECURITE
  1055.                                        /GSICHERHEIT"
  1056.                     "accb" $Ǽ         "ACCESS
  1057.                                        /FACCES
  1058.                                        /GZUTRITT"
  1059.     // HIGHLIGHT EXIT BUTTON
  1060.                     "axtb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"     
  1061.                   "mrgl" $Ǽ         "EMERGENCY /FURGENCE /GNOTFALL"
  1062.     J    #Ç║ 
  1063.  
  1064.  
  1065.     :COMB_BUTTON
  1066.     @Çå   (`ü¡        )
  1067.     J    #üë              
  1068.  
  1069.     :SCIB_BUTTON
  1070.     @Çå   (`ü¡        )                                               
  1071.     J    #üè                 
  1072.  
  1073.     :SECB_BUTTON
  1074.     @Çå   (`ü¡        )
  1075.     J    #üï               
  1076.     // END PERSONNEL SCREEN BUTTONS....
  1077.  
  1078.     :RADB_BUTTON
  1079.     @Çå   (`ü¡        )
  1080.     
  1081.     // *******   EMERGENCY SCREEN   ********
  1082.     
  1083.     m          
  1084.  
  1085.     ê                 ( "mlgt", "EVAC" )
  1086.                  ( "mfrl", "FUSION REACTOR/FFUSION REACTEUR/GFUSIONSREAKTOR" ) 
  1087.                  ( "mpsl", "EMERGENCY PROCEDURE/FPROCEDURE D'URGENCE/GIM NOTFALL" )
  1088.  
  1089.  
  1090.     // WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
  1091.                    ( "mSUB", "/! ");
  1092.                    ( "mSDB", "/! ");
  1093.                    ( "mPUB", "/! ");
  1094.                    ( "mPDB", "/! ");
  1095.  
  1096.                    ( "mxtb", "EXIT/FSORTIE/GZURÜCK", $Ç¡            );
  1097.     J    #Ç║ 
  1098.  
  1099.     :MSUB_REPEAT
  1100.     :MSUB_BUTTON
  1101.     @Çå   (`ü«        )
  1102.     k             ( "MLGT", $Ç╖      )
  1103.     J    #Ç║ 
  1104.  
  1105.  
  1106.     :MSDB_REPEAT
  1107.     :MSDB_BUTTON
  1108.     @Çå   (`ü«        )
  1109.     k             ( "MLGT", $Ç╕        )
  1110.     J    #Ç║ 
  1111.  
  1112.  
  1113.     :MPDB_REPEAT
  1114.     :MPDB_BUTTON
  1115.     @Çå   (`ü»        )
  1116.     k             ( "MLGT", $Ç┤        )
  1117.     J    #Ç║ 
  1118.  
  1119.     :MPUB_REPEAT
  1120.     :MPUB_BUTTON
  1121.     @Çå   (`ü»        )
  1122.     k             ( "MLGT", $Ç│      )
  1123.     J    #Ç║ 
  1124.  
  1125.     :MXTB_BUTTON
  1126.     @Çå   (`üÉ     , 150, -1024)
  1127.     // GOTO ATTRACT
  1128.     J    #Ç╗            
  1129.  
  1130.     :ENTER_COMMAND_LOG
  1131.     m          
  1132.     // ART
  1133.                 "bkga" $Ǽ        
  1134.                   "logl" "COMMAND/FCOMMANDE/GKOMMANDOZENTRALE" 
  1135.     ê                  "LOGT" "GSECCOM" 120 190 195 // INCLUDE TAB STOPS
  1136.     J    #üî               
  1137.  
  1138.     :ENTER_SCIENTIFIC_LOG
  1139.     m          
  1140.     // ART
  1141.                 "bkga" $Ǽ        
  1142.                   "logl" "SCIENTIFIC/FSCIENTIFIQUE/GWISSENSCHAFT"
  1143.     ê                  "LOGT" "GSECSCI" 120 150 200 // INCLUDE TAB STOPS
  1144.     J    #üî               
  1145.  
  1146.     :ENTER_SECURITY_LOG
  1147.     m          
  1148.     // ART
  1149.                 "bkga" $Ǽ        
  1150.                   "logl" "SECURITY/FSECURITE/GSICHERHEITSDIENST"
  1151.     ê                  "LOGT" "GSECSEC" 120 150 200 // INCLUDE TAB STOPS
  1152.     J    #üî               
  1153.  
  1154.  
  1155.     // COMMON LOG SCREEN BUTTONS....
  1156.     :COMMON_LOG_BUTTONS
  1157.  
  1158.     // BUTTONS
  1159.                     "lpub" $Ǽ         "/! "
  1160.                     "lpdb" $Ǽ         "/! "
  1161.                     "lsub" $Ǽ         "/! "
  1162.                     "lsdb" $Ǽ         "/! "
  1163.     // HIGHLIGHT EXIT BUTTON
  1164.                     "xitb" $Ç¡            "EXIT/FSORTIE/GZURÜCK" 
  1165.         J    #Ç║ 
  1166.  
  1167.     :LPDB_REPEAT
  1168.     :LPDB_BUTTON
  1169.     @Çå   (`ü«        )
  1170.     k             ( "LOGT", $Ç┤        )
  1171.     J    #Ç║ 
  1172.  
  1173.     :LPUB_REPEAT
  1174.     :LPUB_BUTTON
  1175.     @Çå   (`ü«        )
  1176.     k             ( "LOGT", $Ç│      )
  1177.     J    #Ç║ 
  1178.  
  1179.     :LSDB_REPEAT
  1180.     :LSDB_BUTTON
  1181.     @Çå   (`ü»        )
  1182.     k             ( "LOGT", $Ç╕        )
  1183.     J    #Ç║ 
  1184.  
  1185.     :LSUB_REPEAT
  1186.     :LSUB_BUTTON
  1187.     @Çå   (`ü»        )
  1188.     k             ( "LOGT", $Ç╖      )
  1189.     J    #Ç║ 
  1190.  
  1191.  
  1192.     :ACCB_BUTTON
  1193.     @Çå   (`ü░        )
  1194.     J    #üû         
  1195.     // END PERSONNEL SCREEN BUTTONS....
  1196.  
  1197.  
  1198.  
  1199.  
  1200.     // SECURITY ACCESS BUTTONS....
  1201.     :ENTER_ACCESS
  1202.     m          
  1203.     // SHOW SECURITY CODE NUMBER BACKGROUNDS
  1204.                 "nfda" $Ǽ        
  1205.     // HIGHLIGHT EXIT BUTTON
  1206.                     "xitb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"  
  1207.                     "clrb" $Ǽ         "CLEAR/FEFFACER/GABBRECHEN"  
  1208.                     "kn0b" $Ǽ         "/!0  "
  1209.                     "kn1b" $Ǽ         "/!1  "
  1210.                     "kn2b" $Ǽ         "/!2  "
  1211.                     "kn3b" $Ǽ         "/!3  "
  1212.                     "kn4b" $Ǽ         "/!4  "
  1213.                     "kn5b" $Ǽ         "/!5  "
  1214.                     "kn6b" $Ǽ         "/!6  "
  1215.                     "kn7b" $Ǽ         "/!7  "
  1216.                     "kn8b" $Ǽ         "/!8  "
  1217.                     "kn9b" $Ǽ         "/!9  "
  1218.     ê                  "UIFT" "GSECINST"
  1219.  
  1220.     // SCRIPT DOES NOT SUPPORT STRING VARIABLES SO WE NEED TO IMPLEMENT THIS
  1221.     // WAY - IF YOU HAVE A BETTER WAY, PLEASE IMPLEMENT IT - JAR 12/20
  1222.     :ACCESS_INIT
  1223.                   "sacl"  "SECURITY ACCESS
  1224.                             /FACCES SECURITE
  1225.                             /GSICHERHEITSZUGANG" 
  1226.     // BLANK ID DIGIT LABELS
  1227.     ^ç╜                    = 11
  1228.                 "nf1a" ^ç╜                   
  1229.                 "nf2a" ^ç╜                   
  1230.                 "nf3a" ^ç╜                   
  1231.                 "nf4a" ^ç╜                   
  1232.                 "nf5a" ^ç╜                   
  1233.  
  1234.     ^ç╛                    = 1
  1235.     ^ç╝              = 0
  1236.     ^ç▓         = -1
  1237.     ^ç│         = -1
  1238.     ^ç┤         = -1
  1239.     ^ç╡         = -1
  1240.     ^ç╢         = -1
  1241.  
  1242.     J    #Ç║ 
  1243.     // END ACCESS_INIT
  1244.  
  1245.     :CHECK_ACCESS_ID
  1246.     // AGAINST RANDOM NUMBERS FOR EACH DIGIT FOUND IN DANE'S LOG
  1247.     I  (^ç▓         != ^ç╖                 ) THEN
  1248.     {
  1249.         J    #üÖ              
  1250.     }
  1251.     E   
  1252.     {
  1253.         I  (^ç│         != ^ç╕                 ) THEN
  1254.         {
  1255.             J    #üÖ              
  1256.         }
  1257.         E   
  1258.         {
  1259.             I  (^ç┤         != ^ç╣                 ) THEN
  1260.             {
  1261.                 J    #üÖ              
  1262.             }
  1263.             E   
  1264.             {
  1265.                 I  (^ç╡         != ^ç║                 ) THEN
  1266.                 {
  1267.                     J    #üÖ              
  1268.                 }
  1269.                 E   
  1270.                 {
  1271.                     I  (^ç╢         != ^ç╗                 ) THEN
  1272.                     {
  1273.                         J    #üÖ              
  1274.                     }
  1275.                 }
  1276.             }
  1277.         }
  1278.     }
  1279.  
  1280.     // ELSE
  1281.     // VALID ID ENTERED
  1282.  
  1283.     // IF CAYNAN'S ARM OVER PALM READER (IE, CONTAINED IN THE BOX "ARM_HERE")
  1284.     @Ç¢              ( USE_BOT )
  1285.  
  1286.     @ÇÜ            ( CAYARM, CLOSEST )
  1287.  
  1288.     I ( @Çí         ( CURITEM, ARMHERE1 ) ) THEN
  1289.     {
  1290.         // REINSTATE CAYNANS SECURITY CODE
  1291.         ^è╣                    = 1
  1292.         ê                  "UIFT" "GSECPASS"
  1293.         @Çå    `ä¼         
  1294.     }
  1295.     E   
  1296.     {
  1297.         i           LEX NEEDHAND
  1298.  
  1299.         // NO HAND AGAINST PALM READER MSG
  1300.         ê                  "UIFT" "GSECNOHN"
  1301.         ^ç╛                    = 0
  1302.         @Çå    `ä¡       
  1303.         W    65
  1304.         // RESTART ENTRY PROCESS
  1305.         ê                  "UIFT" "GSECINST"
  1306.         J    #üù        
  1307.     }
  1308.  
  1309.     //MON_DEFINEBUTTON "xitb" _MON_HIGHLIGHT "EXIT"
  1310.  
  1311.     J    #Ç║ 
  1312.  
  1313.  
  1314.     :INVALID_ACCESS_ID
  1315.     // PUT UP INVALID MESSAGE AND INIT
  1316.     ê                  "UIFT" "GSECFAIL"
  1317.     ^ç╛                    = 0
  1318.     W    65
  1319.     ê                  "UIFT" "GSECINST"
  1320.     J    #üù        
  1321.  
  1322.     :CLRB_BUTTON
  1323.     @Çå   (`ü»        )
  1324.     J    #üù        
  1325.  
  1326.     :KN0B_BUTTON
  1327.         @Çå   (`ü░        )
  1328.         ^ç╝              = 0
  1329.         J    #üÑ       
  1330.  
  1331.     :KN1B_BUTTON
  1332.         @Çå   (`ü░        )
  1333.         ^ç╝              = 1
  1334.         J    #üÑ       
  1335.  
  1336.     :KN2B_BUTTON
  1337.         @Çå   (`ü░        )
  1338.         ^ç╝              = 2
  1339.         J    #üÑ       
  1340.  
  1341.     :KN3B_BUTTON
  1342.         @Çå   (`ü░        )
  1343.         ^ç╝              = 3
  1344.         J    #üÑ       
  1345.  
  1346.     :KN4B_BUTTON
  1347.         @Çå   (`ü░        )
  1348.         ^ç╝              = 4
  1349.         J    #üÑ       
  1350.  
  1351.     :KN5B_BUTTON
  1352.         @Çå   (`ü░        )
  1353.         ^ç╝              = 5
  1354.         J    #üÑ       
  1355.  
  1356.     :KN6B_BUTTON
  1357.         @Çå   (`ü░        )
  1358.         ^ç╝              = 6
  1359.         J    #üÑ       
  1360.  
  1361.     :KN7B_BUTTON
  1362.         @Çå   (`ü░        )
  1363.         ^ç╝              = 7
  1364.         J    #üÑ       
  1365.  
  1366.     :KN8B_BUTTON
  1367.         @Çå   (`ü░        )
  1368.         ^ç╝              = 8
  1369.         J    #üÑ       
  1370.  
  1371.     :KN9B_BUTTON
  1372.         @Çå   (`ü░        )
  1373.         ^ç╝              = 9
  1374.         J    #üÑ       
  1375.  
  1376.  
  1377.     :VAL_ASSIGN
  1378.         // ACCESS ALLOWED?
  1379.         I  (^ç╛                    != 1) THEN
  1380.             J    #Ç║ 
  1381.  
  1382.         ^ç╜                    = ^ç╝              + 1
  1383.  
  1384.         I  (^ç▓         == -1) THEN
  1385.         {
  1386.                         "nf1a" ^ç╜                   
  1387.             ^ç▓         = ^ç╝             
  1388.         }
  1389.         E   
  1390.         {
  1391.             I  (^ç│         == -1) THEN
  1392.             {
  1393.                             "nf2a" ^ç╜                   
  1394.                 ^ç│         = ^ç╝             
  1395.                //     MON_DEFINETEXT "sacl"  "Enter Access Code [3]"
  1396.             }
  1397.         E   
  1398.         {
  1399.             I  (^ç┤         == -1) THEN
  1400.             {
  1401.                             "nf3a" ^ç╜                   
  1402.                 ^ç┤         = ^ç╝             
  1403.               //      MON_DEFINETEXT "sacl"  "Enter Access Code [4]"
  1404.             }
  1405.         E   
  1406.         {
  1407.             I  (^ç╡         == -1) THEN
  1408.             {
  1409.                             "nf4a" ^ç╜                   
  1410.                 ^ç╡         = ^ç╝             
  1411.               //      MON_DEFINETEXT "sacl"  "Enter Access Code [5]"
  1412.             }
  1413.         E   
  1414.         {
  1415.             I  (^ç╢         == -1) THEN
  1416.             {
  1417.                             "nf5a" ^ç╜                   
  1418.                 ^ç╢         = ^ç╝             
  1419.                 J    #üÿ            
  1420.             }
  1421.         }
  1422.         }
  1423.         }
  1424.         }
  1425.     J    #Ç║ 
  1426.  
  1427.     // END: SECURITY ACCESS BUTTONS....
  1428.  
  1429.  
  1430.     // COMMON EXIT BUTTON TO SUB-SCREENS
  1431.     :XITB_BUTTON
  1432.     @Çå   (`ü▓        )
  1433.     J    #Ç╗            
  1434.  
  1435.  
  1436.     :ESCAPE_BUTTON
  1437.     :AXTB_BUTTON
  1438.     @Çå   (`ü▓        , 200, -2048)
  1439.            
  1440.  
  1441. }
  1442.  
  1443.  
  1444. // 7.15 CRYO ROOM/FREEZER MONITOR
  1445. { CR_FREEZERMONITOR
  1446.  
  1447.     // THESE VARIABLES ARE USED IN ORDER TO RELEASE FIDO WHEN EXITING THE
  1448.     // MONITOR
  1449.  
  1450.     P        ~ÇÇ                
  1451.     P        ~Çü               
  1452.     ~ÇÇ                 = 0
  1453.     ~Çü                = 1
  1454.  
  1455.     I ( @Çú              () ) THEN é     
  1456.  
  1457.              "crym"
  1458.  
  1459.     ^èò           = $Ç╝  
  1460.     ^èÅ          = 0
  1461.     ^èæ        = 0
  1462.     ^èÆ  = 1
  1463.     ^èù    = 10
  1464.     ^èö       = 0
  1465.     ^èá        = 0
  1466.     ^胠       = 0
  1467.  
  1468.     :ATTRACT
  1469.     ^èÉ           = 0
  1470.                ^èó        
  1471.                ^èú        
  1472.     m          
  1473.  
  1474.     // SET UP ATTRACT SCREEN
  1475.     ^è₧    = $Ç╗                    // NOT IN THE NOTES SCREEN
  1476.                     "axtb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  1477.                     "ch1b" "CHAMBER 1/FCHAMBRE 1/GZIMMER 1" 
  1478.                     "ch2b" "CHAMBER 2/FCHAMBRE 2/GZIMMER 2"
  1479.                     "ch3b" "CHAMBER 3/FCHAMBRE 3/GZIMMER 3"
  1480.                     "ch4b" "CHAMBER 4/FCHAMBRE 4/GZIMMER 4"
  1481.                 "rnga"  1
  1482.                     "radb" $Ǽ         "EMERGENCY/FALERTE/GNOTFALL"         
  1483.                   "hedl" "CRYOGENICS SYSTEM
  1484.                             /FSYSTEME CRYOGENIQUE
  1485.                             /GKRYOGENIKSYSTEM"  
  1486.     J    #ü½      
  1487.  
  1488.     // WAIT FOR INPUT
  1489.     :CRYO_LOOP
  1490.            
  1491.     â      
  1492.     J    #ü½      
  1493.  
  1494.     :CH1B_BUTTON
  1495.     @Çå   (`üÉ     , 150, -2048)
  1496.     // CALL NEXT SCREEN
  1497.     ^èÉ           = 1
  1498.     //JUMP AROUND_FIDO
  1499.     I  (^èô         = 0 AND ^Ç¥                 ) THEN
  1500.     {
  1501.         ~Çü                = 0
  1502.         ^èÅ          = 1
  1503.         ^èæ        = 0
  1504.         ^èÆ  = 1
  1505.         ^èÿ   = 89
  1506.         ^èö       = 0
  1507.         ^èù    = 7
  1508.         ~ÇÇ                 = @Çì      FIDO_WAKENS
  1509.     }
  1510.     E   
  1511.     {
  1512.         I  ^èô         THEN
  1513.         {
  1514.             ^èæ        = 9
  1515.             ^èö       = 1
  1516.             ^èÅ          = 0
  1517.             ^èÿ   = 5
  1518.             ^èù    = 98
  1519.             ^èÆ  = 0
  1520.         }
  1521.         E   
  1522.         {
  1523.             ^èÅ          = 1
  1524.             ^èæ        = 0
  1525.             ^èÆ  = 1
  1526.             ^èÿ   = 89
  1527.             ^èö       = 0
  1528.             ^èù    = 7
  1529.         }
  1530.     }
  1531.     :AROUND_FIDO
  1532.     J    #éç               
  1533.  
  1534.     :CH2B_BUTTON
  1535.     @Çå   (`üÉ     , 150, -2048)
  1536.     // CALL NEXT SCREEN
  1537.     ^èÉ           = 2
  1538.     ^èæ        = 1
  1539.     ^èÅ          = 1
  1540.     ^èÿ   = 74
  1541.     ^èù    = 7
  1542.     ^èö       = 0
  1543.     ^èÆ  = 1
  1544.     J    #éç               
  1545.  
  1546.     :CH3B_BUTTON
  1547.     @Çå   (`üÉ     , 150, -2048)
  1548.     // CALL NEXT SCREEN
  1549.     ^èÉ           = 3
  1550.     ^èæ        = 9
  1551.     ^èÅ          = 0
  1552.     ^èÿ   = 3
  1553.     ^èù    = 100
  1554.     ^èÆ  = 0
  1555.     ^èö       = 1
  1556.     J    #éç               
  1557.  
  1558.     :CH4B_BUTTON
  1559.     @Çå   (`üÉ     , 150, -2048)
  1560.     // CALL NEXT SCREEN
  1561.     ^èÉ           = 4
  1562.     ^èæ        = 0
  1563.     ^èÅ          = 1
  1564.     ^èÿ   = 84
  1565.     ^èù    = 10
  1566.     ^èö       = 0
  1567.     ^èÆ  = 1
  1568.     J    #éç               
  1569.  
  1570.     :CPUB_REPEAT
  1571.     :CPUB_BUTTON
  1572.     @Çå   (`ü«        , 100, 2048)
  1573.     k              "ctxt" $Ç│     
  1574.     J    #ü½      
  1575.  
  1576.     :CPDB_REPEAT
  1577.     :CPDB_BUTTON
  1578.     @Çå   (`ü«        , 100, 2048)
  1579.     k              "ctxt" $Ç┤       
  1580.     J    #ü½      
  1581.  
  1582.     :CSUB_REPEAT
  1583.     :CSUB_BUTTON
  1584.     @Çå   (`ü«        , 100, 2048)
  1585.     k              "ctxt" $Ç╖     
  1586.     J    #ü½      
  1587.  
  1588.     :CSDB_REPEAT
  1589.     :CSDB_BUTTON
  1590.     @Çå   (`ü«        , 100, 2048)
  1591.     k              "ctxt" $Ç╕       
  1592.     J    #ü½      
  1593.  
  1594.     :NXTB_BUTTON
  1595.     @Çå   (`üÉ     , 150, -1024)
  1596.     // GOTO ATTRACT
  1597.     J    #ü¬    
  1598.  
  1599.     :AXTB_BUTTON
  1600.     @Çå   (`üÉ     , 150)
  1601.     // STOP MONITOR
  1602.     J    #éå      
  1603.  
  1604.     :RADB_BUTTON
  1605.     @Çå   (`üÉ     , 150, -2048)        
  1606.     
  1607.     // *******   EMERGENCY SCREEN   ********
  1608.     
  1609.  
  1610.     m          
  1611.  
  1612.     ê                 ( "mlgt", "EVAC" )
  1613.                  ( "mfrl", "FUSION REACTOR/FFUSION REACTEUR/GFUSIONSREAKTOR" ) 
  1614.                  ( "mpsl", "EMERGENCY PROCEDURE/FPROCEDURE D'URGENCE/GIM NOTFALL" )
  1615.  
  1616.  
  1617.     // WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
  1618.                    ( "mSUB", "/! ");
  1619.                    ( "mSDB", "/! ");
  1620.                    ( "mPUB", "/! ");
  1621.                    ( "mPDB", "/! ");
  1622.  
  1623.                    ( "mxtb", "EXIT/FSORTIE/GZURÜCK", $Ç¡            );
  1624.     J    #ü½      
  1625.  
  1626.     :MSUB_REPEAT
  1627.     :MSUB_BUTTON
  1628.     @Çå   (`ü«        )
  1629.     k             ( "MLGT", $Ç╖      )
  1630.     J    #ü½      
  1631.  
  1632.     :MSDB_REPEAT
  1633.     :MSDB_BUTTON
  1634.     @Çå   (`ü«        )
  1635.     k             ( "MLGT", $Ç╕        )
  1636.     J    #ü½      
  1637.  
  1638.     :MPDB_REPEAT
  1639.     :MPDB_BUTTON
  1640.     @Çå   (`ü»        )
  1641.     k             ( "MLGT", $Ç┤        )
  1642.     J    #ü½      
  1643.  
  1644.     :MPUB_REPEAT
  1645.     :MPUB_BUTTON
  1646.     @Çå   (`ü»        )
  1647.     k             ( "MLGT", $Ç│      )
  1648.     J    #ü½      
  1649.  
  1650.     :MXTB_BUTTON
  1651.     @Çå   (`üÉ     , 150, -1024)
  1652.     // GOTO ATTRACT
  1653.     J    #ü¬    
  1654.     
  1655.     :ESCAPE_BUTTON
  1656.     @Çå   (`ü▓        , 150)
  1657.     :STOP_CRYM
  1658.     ^èò           = $Ç╗   
  1659.     //IF (_FLATFRAME != 0 ) THEN
  1660.                    ^èó        
  1661.     //IF (_BEATFRAME != 0 ) THEN
  1662.                    ^èú        
  1663.     I  ~Çü                = 0 THEN
  1664.     {
  1665.                    ~ÇÇ                
  1666.         @Çì      EXITING_AWAKENS
  1667.     }
  1668.            
  1669.     é     
  1670.  
  1671.     :NOTES_CRYO_MONITOR
  1672.     // CLEAR SCREEN
  1673.     m          
  1674.                ^èó        
  1675.                ^èú        
  1676.     ^è₧    = $Ç╝  
  1677.     // DISPLAY NOTES SCREEN
  1678.                   "cmbl" "CHAMBER/FCHAMBRE/GZIMMER"   
  1679.                   "tmpl" "TEMPERATURE/FTEMP/GTEMP."    
  1680.                   "fldl" "FLUID LEVELS/FFLUIDE/GFLÜSSIGKEIT"
  1681.                   "htrl" "HEART RATE/FPULSATIONS/GPULS"     
  1682.                     "cpub" "/! "
  1683.                     "cpdb" "/! "
  1684.                     "csub" "/! "
  1685.                     "csdb" "/! "
  1686.     N      (^èÉ          )
  1687.     {
  1688.         U    1
  1689.                           "cbnl" "1"
  1690.             j              "ctxt" "freezer1"
  1691.             X Çè 
  1692.         U    2
  1693.                           "cbnl" "2"
  1694.             j              "ctxt" "freezer2"
  1695.             X Çè 
  1696.         U    3
  1697.                           "cbnl" "3"
  1698.             j              "ctxt" "freezer3"
  1699.             X Çè 
  1700.         U    4
  1701.                           "cbnl" "4"
  1702.             j              "ctxt" "freezer4"
  1703.             X Çè 
  1704.         // ELSE - SYSTEM FAULT SO STOP MONITOR
  1705.         U    0
  1706.             J    #ü║        
  1707.             X Çè 
  1708.     }
  1709.     // FIND OUT WHICH FLUID LEVEL TO USE
  1710.     I  ( ^èÅ          == 0 ) THEN
  1711.     {
  1712.                       "flvl" $Ç¡            "CRITICAL/FCRITIQUE/GKRITISCH" 
  1713.     }
  1714.     E   
  1715.     {
  1716.                       "flvl" $Ǽ         " NOMINAL/FNOMINAL/GNORMAL" 
  1717.     }
  1718.     // FIND OUT WHICH TEMPERATURE TO USE (RANGE 0 - 9)
  1719.     N      (^èæ       )
  1720.     {
  1721.         U    0
  1722.                           "tpvl" "/!  73 K"
  1723.             X Çï 
  1724.         U    1
  1725.                           "tpvl" "/!  82 K"
  1726.             X Çï 
  1727.         U    9
  1728.                           "tpvl" $Ç¡            "/! 173 K"
  1729.             X Çï 
  1730.         V      
  1731.                           "tpvl" "FAIL/FRATE/GAUSFALL" 
  1732.     }
  1733.  
  1734.     // FIND OUT WHICH HEART RATE TO USE (RANGE 0 - 9)
  1735.     N      (^èÆ )
  1736.     {
  1737.         U    0
  1738.                           "bpml" "/!  0 BPM"     
  1739.             X Çî 
  1740.         U    1
  1741.                           "bpml" "/! 48 BPM"     
  1742.             X Çî 
  1743.         U    9
  1744.                           "bpml" "/!118 BPM"   
  1745.             X Çî 
  1746.         V      
  1747.                           "bpml" "FAIL/FRATE/GAUSFALL" 
  1748.     }
  1749.  
  1750. //        MON_SETFRAME "hbra" _MON_NORMAL
  1751.     // SET THE FLUID LEVEL AND THE TEMPERATURE BARS
  1752.     s             "tbrs" 100 1
  1753.     s             "tbrs" ^èù    2
  1754.     s             "fbrs" 100 1
  1755.     s             "fbrs" ^èÿ   2
  1756.                     "nxtb" $Ç¡            "EXIT/FSORTIE/GZURÜCK"
  1757.  
  1758.     // IF FLATLINE THEN DISPLAY FLATLINE ANIMATION ELSE SHOW BEATING
  1759.     // HEART ANIMATION
  1760.     I  (^èö       == 0 ) THEN
  1761.     {
  1762.         ^èú         = @Çì      BEATLINE
  1763.     }
  1764.     E   
  1765.     {
  1766.         ^èó         = @Çì      FLATLINE
  1767.     }
  1768.     J    #ü½      
  1769. }
  1770.  
  1771.  
  1772. { EXITING_AWAKENS
  1773.  
  1774.     W    1 SECONDS
  1775.     @Çì      FRZR_DOR
  1776. }
  1777. // ------------------      END OF MONITOR SECTION      -----------------
  1778.  
  1779.  
  1780. //$ 26 - version number
  1781.